package io;

import java.io.*;
import java.nio.charset.StandardCharsets;

/**
 * 自行组建流链接使用PrintWriter完成字符串的写出操作
 */
public class PWDemo2 {
    public static void main(String[] args) throws FileNotFoundException {
        /*
            文件流:低级流，字节流
            作用:实际链接程序与文件的管道
                 负责将字节写入到文件中
         */
        FileOutputStream fos = new FileOutputStream("pw2.txt",true);
        /*
            转换流:高级流，字符流
            作用:
            1:负责衔接字节与字符流
            2:负责将写出的字符转换为字节
         */
        OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        /*
            缓冲流:高级流，字符流
            作用:
            内部默认维护一个8192长的char数组，总是以块写操作保证写出字符的效率
         */
        BufferedWriter bw = new BufferedWriter(osw);
        /*
            PrintWriter:高级流，字符流
            作用:
            1:可以按行写出字符串(println)
            2:可以自动行刷新(目前还没有用到)
         */
        PrintWriter pw = new PrintWriter(bw);

//        pw.println("你好");
//        pw.println("再见");
        pw.println("嘿嘿");
        System.out.println("写出完毕");
        pw.close();
    }
}
